# 进程 > 线程 > 协程
# from multiprocessing import Process
# process = Process(target=函数,name=进程的名字,args=(给函数传递的参数))
# process 对象
# 对象调用方法：
# process.start()  # 启动进程
# process.run() # 只是启动了任务，但没有启动进程
# terminate() # 强制终止进程
'''
进程(PrOces)是计算机中的程序天十呆数据集台上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。
在早期面向进程设计的计算机结构中，进程是程序的基本执行实体;在当代面向线程设计的计算机结构中，进程是线程的容器。
程序是指令、数据及其组织形式的描述，进程是程序的实体。

对于操作系统来说，一个任务就是一个进程。比方说打开浏览器就是启动一个浏览器的进程，在打开一个记事本就启动一个记事本进程，
如果打开两个记事本就启动两个记事本进程。

优点:
稳定性高，一个进程崩溃了，不会影响其他进程。
缺点:
。创建进程开销巨大
。操作系统能同时运行进程数目有限
'''
# 进程创建
import os
from multiprocessing import Process
from time import sleep

def task1():
    while True:
        sleep(1)
        print('-------这是任务1--------',os.getpid(),'-----',os.getppid())

def task2():
    while True:
        sleep(2)
        print('-------这是任务2--------',os.getpid(),'-----',os.getppid())

if __name__ == '__main__':
    # 子进程
    p = Process(target=task1,name = '任务1')
    p.start()
    print(p.name)
    p2 = Process(target=task2,name='任务2')
    p2.start()
    print(p2.name)

    print('-------------')
    print('*************')



